package a.j;

import a.c.d;
import a.c.e;
import a.i.v;
import a.j.a.j;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.NoSuchElementException;

class rc
{
  static final int a = 81;
  static final int c = 46;
  static final int e = 124;
  
  static class c_
    implements Iterator
  {
    private boolean a;
    private final Object b;
    
    public c_(Object paramObject)
    {
      this.b = paramObject;
      this.a = true;
    }
    
    public boolean hasNext()
    {
      return this.a;
    }
    
    public Object next()
    {
      if (!ld.E)
      {
        if (!this.a) {
          throw new NoSuchElementException();
        }
        this.a = false;
      }
      return this.b;
    }
    
    public void remove()
    {
      throw new UnsupportedOperationException();
    }
  }
  
  static class i_
    implements jc
  {
    private jc i;
    private boolean j;
    
    public i_(jc paramjc, boolean paramBoolean)
    {
      this.i = paramjc;
      this.j = paramBoolean;
    }
    
    public Iterator a(g paramg, int paramInt)
    {
      return a(paramg, paramInt, true);
    }
    
    public Iterator b(g paramg, int paramInt)
    {
      return a(paramg, paramInt, false);
    }
    
    private Iterator a(g paramg, int paramInt, boolean paramBoolean)
    {
      v localv1 = new v(a(paramg, paramBoolean), new rc.0(this, paramg));
      v localv2 = new v(a(paramg, paramBoolean), new rc.1(this, paramg));
      return new rc.h_(paramg, new rc.f_(localv2, localv1, paramBoolean), paramInt, paramBoolean);
    }
    
    private Iterator a(g paramg, boolean paramBoolean)
    {
      if (paramBoolean) {
        return this.i.a(paramg, 3);
      }
      return this.i.b(paramg, 3);
    }
    
    private boolean a(Object paramObject, g paramg)
    {
      boolean bool = ld.E;
      if (!bool) {
        if ((paramObject instanceof e))
        {
          if (bool) {
            break label59;
          }
          if (a(paramg, (e)paramObject)) {
            break label58;
          }
        }
      }
      if ((bool) || ((paramObject instanceof d))) {
        if (bool) {}
      }
      label58:
      label59:
      return a(paramg, (d)paramObject);
    }
    
    private boolean a(g paramg, e parame)
    {
      boolean bool2 = ld.E;
      boolean bool1 = paramg.y(parame);
      if (!bool2) {
        if (!bool1)
        {
          if (bool2) {
            break label49;
          }
          if (!c(paramg, parame))
          {
            if (bool2) {
              break label54;
            }
            if (!b(paramg, parame)) {
              break label50;
            }
          }
        }
      }
      label49:
      return true;
      label50:
      label54:
      if (!bool2) {
        if (this.j)
        {
          j localj = paramg.K();
          if ((bool2) || (localj != null))
          {
            e locale = localj.p(parame);
            if (locale != null) {
              if (bool2) {}
            }
            return a(paramg, locale);
          }
        }
      }
      return false;
    }
    
    private boolean a(g paramg, d paramd)
    {
      boolean bool = ld.E;
      if (!bool) {
        if (!paramg.v(paramd))
        {
          if (bool) {
            break label62;
          }
          if (!c(paramg, paramd))
          {
            if (bool) {
              break label62;
            }
            if (!a(paramg, paramd.e())) {
              if (bool) {
                break label62;
              }
            }
          }
        }
      }
      label62:
      return a(paramg, paramd.f());
    }
    
    private boolean b(g paramg, e parame)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      ld localld = paramg.w(parame);
      if ((bool2) || (localld.y() > 0))
      {
        Iterator localIterator = localld.z();
        while (localIterator.hasNext()) {
          if (((jd)localIterator.next()).f())
          {
            if ((bool2) || (bool1)) {
              break label73;
            }
            return true;
          }
        }
      }
      label73:
      return false;
    }
    
    private boolean c(g paramg, e parame)
    {
      boolean bool = ld.D;
      ld localld = paramg.w(parame);
      int k = 0;
      do
      {
        if (k >= localld.x()) {
          break;
        }
        jg localjg = localld.b(k);
        if (bool) {
          break label55;
        }
        if (localjg.i()) {
          return true;
        }
        k++;
      } while (!bool);
      label55:
      return false;
    }
    
    private boolean c(g paramg, d paramd)
    {
      boolean bool = ld.D;
      tb localtb = paramg.t(paramd);
      int k = 0;
      do
      {
        if (k >= localtb.V()) {
          break;
        }
        ig localig = localtb.d(k);
        if (bool) {
          break label55;
        }
        if (localig.i()) {
          return true;
        }
        k++;
      } while (!bool);
      label55:
      return false;
    }
  }
  
  static final class f_
    implements Iterator
  {
    private final Iterator[] a;
    private int c;
    
    f_(Iterator paramIterator1, Iterator paramIterator2, boolean paramBoolean)
    {
      if (!bool)
      {
        if (paramBoolean)
        {
          this.a = new Iterator[] { paramIterator1, paramIterator2 };
          if (bool) {
            return;
          }
        }
      }
      else {
        if (!ld.D) {
          break label61;
        }
      }
      this.a = new Iterator[] { paramIterator2, paramIterator1 };
      label61:
      this.c = 0;
    }
    
    public boolean hasNext()
    {
      boolean bool2 = ld.E;
      do
      {
        boolean bool1 = ld.D;
        while (!bool1)
        {
          if (this.c >= this.a.length) {
            break;
          }
          if (bool1) {
            break label62;
          }
          if (this.a[this.c].hasNext()) {
            return true;
          }
          this.c += 1;
        }
      } while (bool2);
      label62:
      return false;
    }
    
    public Object next()
    {
      if ((ld.E) || (hasNext())) {
        return this.a[this.c].next();
      }
      throw new NoSuchElementException();
    }
    
    public void remove()
    {
      throw new UnsupportedOperationException();
    }
  }
  
  static final class h_
    extends rc.g_
  {
    private final Iterator d;
    private final boolean g;
    
    h_(g paramg, Iterator paramIterator, int paramInt, boolean paramBoolean)
    {
      super(paramInt);
      this.d = paramIterator;
      this.g = paramBoolean;
    }
    
    void b()
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      label91:
      label98:
      label102:
      do
      {
        do
        {
          Object localObject;
          do
          {
            do
            {
              do
              {
                if (!this.c.isEmpty()) {
                  return;
                }
                if ((!bool2) && (!this.d.hasNext())) {
                  return;
                }
                localObject = this.d.next();
                if (bool2) {
                  break label102;
                }
                if (!(localObject instanceof d)) {
                  break label98;
                }
                if (bool2) {
                  break label91;
                }
                if (!this.g) {
                  break;
                }
                a((d)localObject);
                if (bool2) {
                  break label91;
                }
              } while (!bool1);
              b((d)localObject);
            } while ((!bool2) && ((!bool1) || (!(localObject instanceof e))));
            if (bool2) {
              break label141;
            }
            if (!this.g) {
              break;
            }
            a((e)localObject);
            if (bool2) {
              break label141;
            }
          } while (!bool1);
          c((e)localObject);
        } while (bool2);
      } while (!bool1);
      label141:
    }
  }
  
  static abstract class g_
    implements Iterator
  {
    final g a;
    final int b;
    ArrayList c;
    int e;
    
    protected g_(g paramg, int paramInt)
    {
      this.a = paramg;
      this.b = paramInt;
    }
    
    public boolean hasNext()
    {
      boolean bool = ld.E;
      if (!bool) {
        if (this.c == null) {
          a();
        }
      }
      if (!bool) {
        if (this.e > this.c.size() - 1)
        {
          this.e = 0;
          this.c.clear();
          b();
        }
      }
      if (!bool) {}
      return !this.c.isEmpty();
    }
    
    public Object next()
    {
      if ((ld.E) || (hasNext())) {
        return this.c.get(this.e++);
      }
      throw new NoSuchElementException();
    }
    
    public void remove()
    {
      throw new UnsupportedOperationException();
    }
    
    void a()
    {
      this.c = new ArrayList();
    }
    
    abstract void b();
    
    void a(d paramd)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if ((this.b & 0x2) != 0) {
          this.c.add(paramd);
        }
      }
      tb localtb = this.a.t(paramd);
      if (!bool2) {
        if ((this.b & 0x4) != 0)
        {
          this.c.add(localtb.k());
          this.c.add(localtb.l());
        }
      }
      if (!bool2)
      {
        if ((this.b & 0x8) != 0)
        {
          fb localfb = localtb.o();
          do
          {
            if (!localfb.e()) {
              break;
            }
            this.c.add(localfb.a());
            localfb.f();
            if ((!bool2) && (bool1)) {
              return;
            }
          } while (!bool1);
        }
        if (bool2) {}
      }
      else if ((bool2) || ((this.b & 0x20) != 0))
      {
        int i = 0;
        int j = localtb.V();
        do
        {
          if (i >= j) {
            break;
          }
          this.c.add(localtb.d(i));
          i++;
        } while (!bool1);
      }
    }
    
    void a(e parame)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if ((this.b & 0x1) != 0) {
          this.c.add(parame);
        }
      }
      ld localld = this.a.w(parame);
      int i;
      int j;
      if (!bool2)
      {
        if ((this.b & 0x40) != 0)
        {
          i = 0;
          j = localld.y();
          do
          {
            if (i >= j) {
              break;
            }
            this.c.add(localld.c(i));
            i++;
            if ((!bool2) && (bool1)) {
              return;
            }
          } while (!bool1);
        }
        if (bool2) {}
      }
      else if ((bool2) || ((this.b & 0x10) != 0))
      {
        i = 0;
        j = localld.x();
        do
        {
          if (i >= j) {
            break;
          }
          this.c.add(localld.b(i));
          i++;
        } while (!bool1);
      }
    }
    
    void b(d paramd)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      tb localtb = this.a.t(paramd);
      if (!bool2)
      {
        if ((this.b & 0x20) != 0)
        {
          int i = localtb.V();
          do
          {
            if (i-- <= 0) {
              break;
            }
            this.c.add(localtb.d(i));
            if (bool2) {
              break label161;
            }
            if (bool1) {
              break label150;
            }
          } while (!bool1);
        }
        if (bool2) {}
      }
      else
      {
        if (bool2) {
          break label161;
        }
        if ((this.b & 0x8) != 0)
        {
          fb localfb = localtb.o();
          localfb.i();
          do
          {
            if (!localfb.e()) {
              break;
            }
            this.c.add(localfb.a());
            localfb.g();
            if (bool2) {
              break label199;
            }
            if (bool1) {
              break label193;
            }
          } while (!bool1);
        }
      }
      label150:
      if (!bool2) {
        label161:
        if (!bool2) {
          if ((this.b & 0x4) != 0)
          {
            this.c.add(localtb.l());
            this.c.add(localtb.k());
          }
        }
      }
      label193:
      label199:
      if ((bool2) || ((this.b & 0x2) != 0)) {
        this.c.add(paramd);
      }
    }
    
    void c(e parame)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      ld localld = this.a.w(parame);
      int i;
      if (!bool2)
      {
        if ((this.b & 0x10) != 0)
        {
          i = localld.x();
          do
          {
            if (i-- <= 0) {
              break;
            }
            this.c.add(localld.b(i));
            if (bool2) {
              break label147;
            }
            if (bool1) {
              break label136;
            }
          } while (!bool1);
        }
        if (bool2) {}
      }
      else if (!bool2)
      {
        if ((this.b & 0x40) != 0)
        {
          i = localld.y();
          do
          {
            if (i-- <= 0) {
              break;
            }
            this.c.add(localld.c(i));
            if ((!bool2) && (bool1)) {
              return;
            }
          } while (!bool1);
        }
        label136:
        if (bool2) {
          return;
        }
      }
      label147:
      if ((bool2) || ((this.b & 0x1) != 0)) {
        this.c.add(parame);
      }
    }
  }
  
  static final class d_
    implements Iterator
  {
    private final ArrayList a;
    private int c;
    
    d_(ArrayList paramArrayList)
    {
      this.a = paramArrayList;
      this.c = (paramArrayList.size() - 1);
    }
    
    public boolean hasNext()
    {
      if (!ld.E) {}
      return this.c > -1;
    }
    
    public Object next()
    {
      try
      {
        return this.a.get(this.c--);
      }
      catch (IndexOutOfBoundsException localIndexOutOfBoundsException)
      {
        throw new NoSuchElementException();
      }
    }
    
    public void remove()
    {
      throw new UnsupportedOperationException();
    }
  }
  
  static final class e_
    implements Iterator
  {
    private final Iterator a;
    
    e_(ArrayList paramArrayList)
    {
      this.a = paramArrayList.iterator();
    }
    
    public boolean hasNext()
    {
      return this.a.hasNext();
    }
    
    public Object next()
    {
      return this.a.next();
    }
    
    public void remove()
    {
      throw new UnsupportedOperationException();
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.j.rc

 * JD-Core Version:    0.7.0.1

 */